/*============================================================================*/
/*                   Tortoise Team					                          */
/*============================================================================*/
/*                        OBJECT SPECIFICATION                                */
/*============================================================================*
* name:            HAL_UART.h
* version:         1.1
* %created_by:      Oscar Rodea Aragon %
* %date_created:    Sunday Aug 26 07:55:01 2012 %
*=============================================================================*/
/* DESCRIPTION : Header file for uC Abstraction layer for UART                */
/*============================================================================*/
/* FUNCTION COMMENT : Describes the prototypes functions uC Abstraction layer */
/*   for UART module               											  */
/*                                                                            */
/*============================================================================*/
/*                               OBJECT HISTORY                               */
/*============================================================================*/
/*  REVISION |   DATE      |                               |      AUTHOR      */
/*----------------------------------------------------------------------------*/
/*  1.0      | 26/08/2012 |                               | Oscar Rodea	      */
/*  1.1      | 01/10/2012 |                               | Andres Torres     */
/* Integration under Continuus CM                                             */
/*============================================================================*/

#ifndef HAL_UART_H                               /* To avoid double inclusion */
#define HAL_UART_H

/* Includes */
/* -------- */
/* Register definitions for selected microcontroller */
#include "stdtypedef.h"

/*======================================================*/ 
/* close variable declaration sections                  */
/*======================================================*/ 

/* Exported functions prototypes and macros */
/* ---------------------------------------- */

/* Exported defines */


/* Functions prototypes */

/*! Initialize the UART port
   \sa Version 
  */
extern	void 	vfnInit_UART();

/*! Send the actual status of the sensors
   \sa Version 
  */
extern	void 	vfnSend_Sensors();

/*! Send the actual status of the advance sensors
   \sa Version 
  */
extern	void 	vfnSend_SensorsAdvance();

/*! Transmit a byte
   \param ub_value Byte to transmit
   \sa Version 
  */
extern	void 	vfnSend_byte(T_UBYTE ub_value);

/*! Reveive a byte from the UART interrupt
   \param T_UBYTE The byte that arrives.
   \sa Version 
  */
extern	void vfnReceive_DataFromInterrupt(T_UBYTE ub_RxValue);

/*! Check if a new instruccion was sent
   \sa Version 
  */
extern	void vfnRx_NewInstruction(void);

/*! Send a number in ascii format through serial interface.
   \param uw_value The number to send in ascii
   \sa Version 
  */
extern void vfnSend_ascii_number_no_protocol(T_UWORD uw_value);

/*! Transmit a byte without protocol.
   \param ub_value Byte to transmit
   \sa Version 
  */
extern void vfnSend_byte_no_protocol(T_UBYTE ub_value);

#endif

